package jpa.entitys.promis.construction;

import java.io.Serializable;

import javax.persistence.*;

import java.math.BigDecimal;
import java.util.Date;


/**
 * The persistent class for the COST_CONTRACTS database table.
 * 
 */
@Entity
@Table(name="COST_CONTRACTS")
@NamedQueries({
    @NamedQuery(name = "CostContract.findAll", query = " SELECT c FROM CostContract c "),
    @NamedQuery(name = "CostContract.findById", query = " SELECT c FROM CostContract c WHERE c.id = :Id "),
    @NamedQuery(name = "CostContract.findBySapPoNo", query = " SELECT c FROM CostContract c WHERE c.syncExternalRefNo = :syncExternalRefNo And c.status = :status "),
    @NamedQuery(name = "CostContract.findByStaging", query = " SELECT c FROM CostContract c WHERE c.syncIsstaging = :syncIsstaging")
})
public class CostContract extends jpa.entitys.common.CommonEntity implements Serializable {
	private static final long serialVersionUID = 1L;

	@EmbeddedId
	private CostContractPK id;
	
	@Override public String toString() { return org.apache.commons.lang.builder.ToStringBuilder.reflectionToString(this);}

	@Column(name="AD_AMOUNT", precision=20, scale=2)
	private BigDecimal adAmount;

	@Column(name="AD_PERCENT", precision=20, scale=8)
	private BigDecimal adPercent;

	@Column(name="AD_RECOVERY_PERCENT", precision=20, scale=8)
	private BigDecimal adRecoveryPercent;

	@Column(name="AD_TYPE", length=2)
	private String adType;

	@Column(name="BOQ_BID_CODE", length=30)
	private String boqBidCode;

	@Column(name="CONTACT_PERSON", length=300)
	private String contactPerson;

	@Column(name="CONTRACT_AMOUNT_FC", precision=20, scale=2)
	private BigDecimal contractAmountFc;

	@Column(name="CONTRACT_AMOUNT_LC", precision=20, scale=2)
	private BigDecimal contractAmountLc;

    @Temporal( TemporalType.TIMESTAMP)
	@Column(name="CONTRACT_DATE")
	private Date contractDate;

	@Column(name="CONTRACT_GUARANTEE", length=30)
	private String contractGuarantee;

	@Column(name="CONTRACT_GUARANTEE_AMOUNT", precision=16, scale=2)
	private BigDecimal contractGuaranteeAmount;

	@Column(name="CONTRACT_GUARANTEE_PERCENT", precision=16, scale=2)
	private BigDecimal contractGuaranteePercent;

	@Column(name="CONTRACT_PERIOD", precision=22)
	private BigDecimal contractPeriod;

	@Column(name="CONTRACT_PERIOD_UM")
	private String contractPeriodUm;

	@Column(name="COST_CONTRACTS_ID", length=100)
	private String costContractsId;

	@Column(name="CREATED_BY")
	private String createdBy;

    @Temporal( TemporalType.TIMESTAMP)
	@Column(name="CREATED_ON")
	private Date createdOn;

	@Column(name="CT_RUNNING_NO", precision=22)
	private BigDecimal ctRunningNo;

	@Column(length=10)
	private String currency;

	@Column(name="DP_AMOUNT", precision=20, scale=2)
	private BigDecimal dpAmount;

	@Column(name="DP_PERCENT", precision=20, scale=8)
	private BigDecimal dpPercent;

	@Column(name="DP_TYPE", length=2)
	private String dpType;

    @Temporal( TemporalType.TIMESTAMP)
	@Column(name="END_DATE")
	private Date endDate;

	@Column(name="EXCHANGE_RATE", precision=20, scale=8)
	private BigDecimal exchangeRate;

	@Column(name="GD_AMOUNT", precision=20, scale=2)
	private BigDecimal gdAmount;

	@Column(name="GD_PERCENT", precision=20, scale=8)
	private BigDecimal gdPercent;

	@Column(name="GD_PERIOD", precision=3)
	private BigDecimal gdPeriod;

	@Column(name="GD_PERIOD_UM")
	private String gdPeriodUm;

	@Column(name="GD_TYPE", length=2)
	private String gdType;

	@Column(name="JOB_DESCRIPTION", length=300)
	private String jobDescription;

	@Column(name="JOB_TYPE", length=1)
	private String jobType;

	@Column(name="LAST_UPD_BY")
	private String lastUpdBy;

    @Temporal( TemporalType.TIMESTAMP)
	@Column(name="LAST_UPD_ON")
	private Date lastUpdOn;

	@Column(name="LINK_FILE_ID", precision=22)
	private BigDecimal linkFileId;

	@Column(name="MB_PERCENT", precision=22)
	private BigDecimal mbPercent;

	@Column(name="PAYMENT_CONDITION", length=3000)
	private String paymentCondition;

	@Column(name="PAYMENT_TYPE", length=3)
	private String paymentType;

	@Column(name="PN_AMOUNT", precision=16, scale=2)
	private BigDecimal pnAmount;

	@Column(name="PN_PERCENT", precision=20, scale=8)
	private BigDecimal pnPercent;

	@Column(name="PN_TYPE", length=2)
	private String pnType;

    @Temporal( TemporalType.TIMESTAMP)
	@Column(name="REF_CONTRACT_DATE")
	private Date refContractDate;

	@Column(name="REF_CONTRACT_NO", length=100)
	private String refContractNo;

	@Column(name="REF_CONTRACTOR_REQ", length=30)
	private String refContractorReq;

	@Column(name="REF_LOI", length=100)
	private String refLoi;

    @Temporal( TemporalType.TIMESTAMP)
	@Column(name="REF_LOI_DATE")
	private Date refLoiDate;

    @Temporal( TemporalType.TIMESTAMP)
	@Column(name="REF_PO_DATE")
	private Date refPoDate;

	@Column(name="REF_PO_NO", length=100)
	private String refPoNo;

	@Column(length=3000)
	private String remarks;

	@Column(name="RENOVATE_DATE", precision=22)
	private BigDecimal renovateDate;

    @Temporal( TemporalType.TIMESTAMP)
	@Column(name="START_DATE")
	private Date startDate;

	@Column(length=1)
	private String status;

	@Column(name="SUM_VALUE_FC", precision=20, scale=2)
	private BigDecimal sumValueFc;

	@Column(name="SUM_VALUE_LC", precision=20, scale=2)
	private BigDecimal sumValueLc;

	@Column(name="SUPPLIER_CODE", length=30)
	private String supplierCode;

	@Column(name="SYNC_CREATEDBY", length=100)
	private String syncCreatedby;

    @Temporal( TemporalType.TIMESTAMP)
	@Column(name="SYNC_CREATEDON")
	private Date syncCreatedon;

	@Column(name="SYNC_EXTERNAL_REF_KEY", length=100)
	private String syncExternalRefKey;

	@Column(name="SYNC_EXTERNAL_REF_NO", length=100)
	private String syncExternalRefNo;

	@Column(name="SYNC_ISSTAGING", length=1)
	private String syncIsstaging;

	@Column(name="SYNC_ISSYNC", length=1)
	private String syncIssync;

	@Column(name="SYNC_UPDATEDBY", length=100)
	private String syncUpdatedby;

    @Temporal( TemporalType.TIMESTAMP)
	@Column(name="SYNC_UPDATEDON")
	private Date syncUpdatedon;

	@Column(name="TAX_PERCENT", precision=20, scale=8)
	private BigDecimal taxPercent;

	@Column(name="TAX_TYPE", length=2)
	private String taxType;

	@Column(name="TITLE_CODE", length=30)
	private String titleCode;

	@Column(name="TITLE_DESCRIPTION", length=300)
	private String titleDescription;

	@Column(name="TOTAL_INSTALLMENT", precision=22)
	private BigDecimal totalInstallment;

	@Column(name="TRANSACTION_TYPE", length=1)
	private String transactionType;

	@Column(name="VAT_AMOUNT_FC", precision=19, scale=5)
	private BigDecimal vatAmountFc;

	@Column(name="VAT_AMOUNT_LC", precision=19, scale=5)
	private BigDecimal vatAmountLc;

	@Column(name="WR_DESC", length=3000)
	private String wrDesc;

	@Column(name="WR_PERIOD", precision=20, scale=2)
	private BigDecimal wrPeriod;

	@Column(name="WR_PERIOD_UM")
	private String wrPeriodUm;

	@Column(name="WR_TYPE", length=2)
	private String wrType;

    public CostContract() {
    }

	public CostContractPK getId() {
		return this.id;
	}

	public void setId(CostContractPK id) {
		this.id = id;
	}
	
	public BigDecimal getAdAmount() {
		return this.adAmount;
	}

	public void setAdAmount(BigDecimal adAmount) {
		this.adAmount = adAmount;
	}

	public BigDecimal getAdPercent() {
		return this.adPercent;
	}

	public void setAdPercent(BigDecimal adPercent) {
		this.adPercent = adPercent;
	}

	public BigDecimal getAdRecoveryPercent() {
		return this.adRecoveryPercent;
	}

	public void setAdRecoveryPercent(BigDecimal adRecoveryPercent) {
		this.adRecoveryPercent = adRecoveryPercent;
	}

	public String getAdType() {
		return this.adType;
	}

	public void setAdType(String adType) {
		this.adType = adType;
	}

	public String getBoqBidCode() {
		return this.boqBidCode;
	}

	public void setBoqBidCode(String boqBidCode) {
		this.boqBidCode = boqBidCode;
	}

	public String getContactPerson() {
		return this.contactPerson;
	}

	public void setContactPerson(String contactPerson) {
		this.contactPerson = contactPerson;
	}

	public BigDecimal getContractAmountFc() {
		return this.contractAmountFc;
	}

	public void setContractAmountFc(BigDecimal contractAmountFc) {
		this.contractAmountFc = contractAmountFc;
	}

	public BigDecimal getContractAmountLc() {
		return this.contractAmountLc;
	}

	public void setContractAmountLc(BigDecimal contractAmountLc) {
		this.contractAmountLc = contractAmountLc;
	}

	public Date getContractDate() {
		return this.contractDate;
	}

	public void setContractDate(Date contractDate) {
		this.contractDate = contractDate;
	}

	public String getContractGuarantee() {
		return this.contractGuarantee;
	}

	public void setContractGuarantee(String contractGuarantee) {
		this.contractGuarantee = contractGuarantee;
	}

	public BigDecimal getContractGuaranteeAmount() {
		return this.contractGuaranteeAmount;
	}

	public void setContractGuaranteeAmount(BigDecimal contractGuaranteeAmount) {
		this.contractGuaranteeAmount = contractGuaranteeAmount;
	}

	public BigDecimal getContractGuaranteePercent() {
		return this.contractGuaranteePercent;
	}

	public void setContractGuaranteePercent(BigDecimal contractGuaranteePercent) {
		this.contractGuaranteePercent = contractGuaranteePercent;
	}

	public BigDecimal getContractPeriod() {
		return this.contractPeriod;
	}

	public void setContractPeriod(BigDecimal contractPeriod) {
		this.contractPeriod = contractPeriod;
	}

	public String getContractPeriodUm() {
		return this.contractPeriodUm;
	}

	public void setContractPeriodUm(String contractPeriodUm) {
		this.contractPeriodUm = contractPeriodUm;
	}

	public String getCostContractsId() {
		return this.costContractsId;
	}

	public void setCostContractsId(String costContractsId) {
		this.costContractsId = costContractsId;
	}

	public String getCreatedBy() {
		return this.createdBy;
	}

	public void setCreatedBy(String createdBy) {
		this.createdBy = createdBy;
	}

	public Date getCreatedOn() {
		return this.createdOn;
	}

	public void setCreatedOn(Date createdOn) {
		this.createdOn = createdOn;
	}

	public BigDecimal getCtRunningNo() {
		return this.ctRunningNo;
	}

	public void setCtRunningNo(BigDecimal ctRunningNo) {
		this.ctRunningNo = ctRunningNo;
	}

	public String getCurrency() {
		return this.currency;
	}

	public void setCurrency(String currency) {
		this.currency = currency;
	}

	public BigDecimal getDpAmount() {
		return this.dpAmount;
	}

	public void setDpAmount(BigDecimal dpAmount) {
		this.dpAmount = dpAmount;
	}

	public BigDecimal getDpPercent() {
		return this.dpPercent;
	}

	public void setDpPercent(BigDecimal dpPercent) {
		this.dpPercent = dpPercent;
	}

	public String getDpType() {
		return this.dpType;
	}

	public void setDpType(String dpType) {
		this.dpType = dpType;
	}

	public Date getEndDate() {
		return this.endDate;
	}

	public void setEndDate(Date endDate) {
		this.endDate = endDate;
	}

	public BigDecimal getExchangeRate() {
		return this.exchangeRate;
	}

	public void setExchangeRate(BigDecimal exchangeRate) {
		this.exchangeRate = exchangeRate;
	}

	public BigDecimal getGdAmount() {
		return this.gdAmount;
	}

	public void setGdAmount(BigDecimal gdAmount) {
		this.gdAmount = gdAmount;
	}

	public BigDecimal getGdPercent() {
		return this.gdPercent;
	}

	public void setGdPercent(BigDecimal gdPercent) {
		this.gdPercent = gdPercent;
	}

	public BigDecimal getGdPeriod() {
		return this.gdPeriod;
	}

	public void setGdPeriod(BigDecimal gdPeriod) {
		this.gdPeriod = gdPeriod;
	}

	public String getGdPeriodUm() {
		return this.gdPeriodUm;
	}

	public void setGdPeriodUm(String gdPeriodUm) {
		this.gdPeriodUm = gdPeriodUm;
	}

	public String getGdType() {
		return this.gdType;
	}

	public void setGdType(String gdType) {
		this.gdType = gdType;
	}

	public String getJobDescription() {
		return this.jobDescription;
	}

	public void setJobDescription(String jobDescription) {
		this.jobDescription = jobDescription;
	}

	public String getJobType() {
		return this.jobType;
	}

	public void setJobType(String jobType) {
		this.jobType = jobType;
	}

	public String getLastUpdBy() {
		return this.lastUpdBy;
	}

	public void setLastUpdBy(String lastUpdBy) {
		this.lastUpdBy = lastUpdBy;
	}

	public Date getLastUpdOn() {
		return this.lastUpdOn;
	}

	public void setLastUpdOn(Date lastUpdOn) {
		this.lastUpdOn = lastUpdOn;
	}

	public BigDecimal getLinkFileId() {
		return this.linkFileId;
	}

	public void setLinkFileId(BigDecimal linkFileId) {
		this.linkFileId = linkFileId;
	}

	public BigDecimal getMbPercent() {
		return this.mbPercent;
	}

	public void setMbPercent(BigDecimal mbPercent) {
		this.mbPercent = mbPercent;
	}

	public String getPaymentCondition() {
		return this.paymentCondition;
	}

	public void setPaymentCondition(String paymentCondition) {
		this.paymentCondition = paymentCondition;
	}

	public String getPaymentType() {
		return this.paymentType;
	}

	public void setPaymentType(String paymentType) {
		this.paymentType = paymentType;
	}

	public BigDecimal getPnAmount() {
		return this.pnAmount;
	}

	public void setPnAmount(BigDecimal pnAmount) {
		this.pnAmount = pnAmount;
	}

	public BigDecimal getPnPercent() {
		return this.pnPercent;
	}

	public void setPnPercent(BigDecimal pnPercent) {
		this.pnPercent = pnPercent;
	}

	public String getPnType() {
		return this.pnType;
	}

	public void setPnType(String pnType) {
		this.pnType = pnType;
	}

	public Date getRefContractDate() {
		return this.refContractDate;
	}

	public void setRefContractDate(Date refContractDate) {
		this.refContractDate = refContractDate;
	}

	public String getRefContractNo() {
		return this.refContractNo;
	}

	public void setRefContractNo(String refContractNo) {
		this.refContractNo = refContractNo;
	}

	public String getRefContractorReq() {
		return this.refContractorReq;
	}

	public void setRefContractorReq(String refContractorReq) {
		this.refContractorReq = refContractorReq;
	}

	public String getRefLoi() {
		return this.refLoi;
	}

	public void setRefLoi(String refLoi) {
		this.refLoi = refLoi;
	}

	public Date getRefLoiDate() {
		return this.refLoiDate;
	}

	public void setRefLoiDate(Date refLoiDate) {
		this.refLoiDate = refLoiDate;
	}

	public Date getRefPoDate() {
		return this.refPoDate;
	}

	public void setRefPoDate(Date refPoDate) {
		this.refPoDate = refPoDate;
	}

	public String getRefPoNo() {
		return this.refPoNo;
	}

	public void setRefPoNo(String refPoNo) {
		this.refPoNo = refPoNo;
	}

	public String getRemarks() {
		return this.remarks;
	}

	public void setRemarks(String remarks) {
		this.remarks = remarks;
	}

	public BigDecimal getRenovateDate() {
		return this.renovateDate;
	}

	public void setRenovateDate(BigDecimal renovateDate) {
		this.renovateDate = renovateDate;
	}

	public Date getStartDate() {
		return this.startDate;
	}

	public void setStartDate(Date startDate) {
		this.startDate = startDate;
	}

	public String getStatus() {
		return this.status;
	}

	public void setStatus(String status) {
		this.status = status;
	}

	public BigDecimal getSumValueFc() {
		return this.sumValueFc;
	}

	public void setSumValueFc(BigDecimal sumValueFc) {
		this.sumValueFc = sumValueFc;
	}

	public BigDecimal getSumValueLc() {
		return this.sumValueLc;
	}

	public void setSumValueLc(BigDecimal sumValueLc) {
		this.sumValueLc = sumValueLc;
	}

	public String getSupplierCode() {
		return this.supplierCode;
	}

	public void setSupplierCode(String supplierCode) {
		this.supplierCode = supplierCode;
	}

	public String getSyncCreatedby() {
		return this.syncCreatedby;
	}

	public void setSyncCreatedby(String syncCreatedby) {
		this.syncCreatedby = syncCreatedby;
	}

	public Date getSyncCreatedon() {
		return this.syncCreatedon;
	}

	public void setSyncCreatedon(Date syncCreatedon) {
		this.syncCreatedon = syncCreatedon;
	}

	public String getSyncExternalRefKey() {
		return this.syncExternalRefKey;
	}

	public void setSyncExternalRefKey(String syncExternalRefKey) {
		this.syncExternalRefKey = syncExternalRefKey;
	}

	public String getSyncExternalRefNo() {
		return this.syncExternalRefNo;
	}

	public void setSyncExternalRefNo(String syncExternalRefNo) {
		this.syncExternalRefNo = syncExternalRefNo;
	}

	public String getSyncIsstaging() {
		return this.syncIsstaging;
	}

	public void setSyncIsstaging(String syncIsstaging) {
		this.syncIsstaging = syncIsstaging;
	}

	public String getSyncIssync() {
		return this.syncIssync;
	}

	public void setSyncIssync(String syncIssync) {
		this.syncIssync = syncIssync;
	}

	public String getSyncUpdatedby() {
		return this.syncUpdatedby;
	}

	public void setSyncUpdatedby(String syncUpdatedby) {
		this.syncUpdatedby = syncUpdatedby;
	}

	public Date getSyncUpdatedon() {
		return this.syncUpdatedon;
	}

	public void setSyncUpdatedon(Date syncUpdatedon) {
		this.syncUpdatedon = syncUpdatedon;
	}

	public BigDecimal getTaxPercent() {
		return this.taxPercent;
	}

	public void setTaxPercent(BigDecimal taxPercent) {
		this.taxPercent = taxPercent;
	}

	public String getTaxType() {
		return this.taxType;
	}

	public void setTaxType(String taxType) {
		this.taxType = taxType;
	}

	public String getTitleCode() {
		return this.titleCode;
	}

	public void setTitleCode(String titleCode) {
		this.titleCode = titleCode;
	}

	public String getTitleDescription() {
		return this.titleDescription;
	}

	public void setTitleDescription(String titleDescription) {
		this.titleDescription = titleDescription;
	}

	public BigDecimal getTotalInstallment() {
		return this.totalInstallment;
	}

	public void setTotalInstallment(BigDecimal totalInstallment) {
		this.totalInstallment = totalInstallment;
	}

	public String getTransactionType() {
		return this.transactionType;
	}

	public void setTransactionType(String transactionType) {
		this.transactionType = transactionType;
	}

	public BigDecimal getVatAmountFc() {
		return this.vatAmountFc;
	}

	public void setVatAmountFc(BigDecimal vatAmountFc) {
		this.vatAmountFc = vatAmountFc;
	}

	public BigDecimal getVatAmountLc() {
		return this.vatAmountLc;
	}

	public void setVatAmountLc(BigDecimal vatAmountLc) {
		this.vatAmountLc = vatAmountLc;
	}

	public String getWrDesc() {
		return this.wrDesc;
	}

	public void setWrDesc(String wrDesc) {
		this.wrDesc = wrDesc;
	}

	public BigDecimal getWrPeriod() {
		return this.wrPeriod;
	}

	public void setWrPeriod(BigDecimal wrPeriod) {
		this.wrPeriod = wrPeriod;
	}

	public String getWrPeriodUm() {
		return this.wrPeriodUm;
	}

	public void setWrPeriodUm(String wrPeriodUm) {
		this.wrPeriodUm = wrPeriodUm;
	}

	public String getWrType() {
		return this.wrType;
	}

	public void setWrType(String wrType) {
		this.wrType = wrType;
	}

}